1. Field of the Invention
The present invention relates generally to packet based communications networks, and more particularly for acknowledging receipt of messages within a packet based communication network.
2. Discussion of Background Art
Packets are widely used for communications between nodes in a computer system. Messages are reliably passed using a combination of packet re-transmissions and acknowledgments upon receipt. Typically a node sending a packet to a receiving node keeps a copy of the packet in a temporary buffer and intermittently transmits it again and again until an acknowledgment comes back from the receiving node. A popular model for dividing up communications responsibility is called the International Standards Organization/Open System Interconnection (ISO/OSI) Model. The ISO/OSI Model divides the data communication task between the following seven different layers: an Application Layer, a Presentation Layer, a session layer, a Transport Layer, a Network Layer, a Data-Link Layer, and a Physical Layer.
Depending upon the particular protocols implemented within these layers, an upper layer (i.e. one of the layers above the Transport Layer) from a sending node may need confirmation that a receiving node received a data packet. Typically the upper layer must explicitly generate a request to an upper layer in the receiving node for a standard reply packet, confirming that the receiving node received the data packet. Such a request requires that a corresponding upper layer on the receiving node generate a reply packet and then send the reply back through the communications network. This entire request and reply procedure increases the network""s fan-out and round trip latency (i.e. delay). Fan-out is the number of data packets required to be transmitted across a network so as to effect a single data communications transaction. The higher fan-out of a traditional request and reply protocol increases the bandwidth requirements of the communications network and places an additional burden on the computational resources of both the sending node and the receiving node, diverting these resources from more productive uses.
What is needed is an improved system and method for acknowledging receipt of messages within a packet based communication network.
The present invention is a system and method for acknowledging receipt of messages within a packet based communication network. Within the system of the present invention, a sending node generates a data packet within an upper layer, and transmits the data packet to a receiving node using a lower layer. The lower layer then generates and transmits a pseudo reply packet to the upper layer in response to an acknowledgment received from the receiving node. The pseudo reply packet notifies the upper layer of the sending node that the receiving node successfully received the data packet and removes the burden of having the upper layer of the receiving node generate a standard reply packet. By removing this burden, network bandwidth and latency are reduced, and fewer network resources are required.
In another aspect of the invention, the lower layer of the sending node includes a buffer for storing the data packets, from which the pseudo reply packets are generated.
Within the method of the present invention, a copy of a data packet to be sent from a sending node to a receiving node is stored in a buffer within a lower layer before being sent to the receiving node. The lower layer in the sending node, upon receiving an acknowledgement packet, generates a pseudo reply packet using the data packet stored in the buffer. This pseudo reply packet is then sent to an upper layer within the sending node. As a result, the upper layer of the receiving node need not generate a standard reply packet, thus reducing network latency and bandwidth requirements.
These and other aspects of the invention will be recognized by those skilled in the art upon review of the detailed description, drawings, and claims set forth below.